# Requirements

This guide will walk you through the installation process to set up AppSealing(on-premise version) on Kubernetes clusters. The guide describes all requirements and needed assets for the installation, tells you how to set up your nodes for the installation with Helm, how to install AppSealing on-premise version, and helps you to plan your server maintenance.

# Prerequisite

This section describes the prerequisites needed for the installation of AppSealing.

  1. First you need to configure a database instance in the form of any MySQL Database(5.6.10+) or any other platform specific DB instance.
  2. Create a service of that DB and access it inside the Kubernetes environment.
  3. Second, you need to configure the ELK stack or any managed service ELK stack like elastic.co or Elasticsearch instance of AWS or any other Cloud provider.
  4. Create a service and access it inside the Kubernetes environment.
  5. Install Helm (opens new window) package manager for Kubernetes.
  6. Setup external DNS if required. AppSealing requires 3 domain URLs for
    • API (Endpoints)
    • ADC (Developer’s web console)
    • LogScheduler (Collecting reports from mobile devices)

This section describes the installation of on-prem versions using docker tarballs.

  1. First, download the docker tarballs into your host from where you are running the Kubernetes cluster.
  2. Untar the docker tarball by using the following command.
$ docker load < docker-tarball.tgz
$ docker images ( You can see the image loaded into your system)
  1. You can upload this image to any docker registry. It might be your ECR, GCR, ACR, or some other docker registry where K8 can pick these images into the environment.
  2. Update the YAML files with the images version and deploy the AppSealing on-prem version.

# Available cloud environments for support

  • Amazon Web Service
  • Google Cloud Platform
  • Microsft Azure

# Kubernetes Setup Guide

Set Up a Kubernetes cluster and install some drivers if needed for Persistent Volumes or some DNS Support.

  • For persistent Volumes in AWS, you need to install an AWS EFS driver for EFS or AWS EBS driver for EBS volumes. Please refer to the below document.

Install EFS Driver for EKS:

  1. Set iam for EKS using below shell command
$ curl -o iam-policy-example.json \ https://raw.githubusercontent.com/kubernetes-sigs/aws-efs-csi-driver/v1.3.2/docs/iam-policy-example.json

$ aws iam create-policy --policy-name AmazonEKS_EFS_CSI_Driver_Policy \ --policy-document file://iam-policy-example.json

$ eksctl utils associate-iam-oidc-provider --region=<region>--cluster=<cluster-name> --approve

$ eksctl create iamserviceaccount \

--name efs-csi-controller-sa \

--namespace kube-system \

--cluster <cluster-name> \

--attach-policy-arn arn:aws:iam::<ACCOUNT_ID>:policy/AmazonEKS_EFS_CSI_Driver_Policy \

--approve \

--override-existing-serviceaccounts \

--region <region>

$ helm repo add aws-efs-csi-driver https://kubernetes-sigs.github.io/aws-efs-csi-driver/

$ helm repo update

$ helm upgrade -i aws-efs-csi-driver aws-efs-csi-driver/aws-efs-csi-driver \

--namespace kube-system \

--set image.repository=602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/eks/aws-efs-csi-driver \ 

--set controller.serviceAccount.create=false \

--set controller.serviceAccount.name=efs-csi-controller-sa

$ kubectl get pod -n kube-system -l "app.kubernetes.io/name=aws-efs-csi-driver,app.kubernetes.io/instance=aws-efs-csi-driver"

Note: Step container image-repository for efs driver installation. This image-repo differ from region to region. Please follow this document for your region. Amazon EKS add-on container image addresses - Amazon EKS (opens new window)

Steps taken from the AWS Documentation. Refer this doc: Amazon EFS CSI driver - Amazon EKS (opens new window)

Amazon EBS CSI driver - Amazon EKS (opens new window)

  • For persistent Volumes in GKE, you can create persistent volumes in the form of NFS volumes using Filestore Service as we need some shared Volumes. You don’t need to install any driver for that.

# Optional: Setup external DNS for AWS Route 53:

For dynamic external DNS, you can install an external-DNS driver for AWS Route 53.

For more information, refer to this document. (opens new window)

Last Updated: 11/19/2024, 6:55:37 AM